/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package model;
import controller.Cliente;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Abrir Sessão
 */
public class ClienteDAO {
    public static String GravarDados(Cliente NovoCliente) {
        java.sql.Connection con = GerenciaConexão.getConexao();
        java.sql.PreparedStatement pst = null;
        String retorno = "ERRO NO CADASTRO";
        try {
            String sql = "INSERT INTO cliente(nm_cliente,endereco,cpf,sexo,idade) VALUES (?,?,?,?,?)";
            pst = con.prepareStatement(sql);
            pst.setString(1, NovoCliente.getNome());
            pst.setString(2, NovoCliente.getEndereço());
            pst.setString(3, NovoCliente.getCpf());
            pst.setString(4, NovoCliente.getSexo());
            pst.setString(5, NovoCliente.getIdade());
            pst.execute();
            retorno = "Paciente cadrastrado com sucesso";
           
        } catch (Exception sqle) {
            return retorno+sqle.getMessage();
        }
        return retorno;
    }
    
        public List<Cliente> ConsultarDados() throws SQLException{
            java.sql.Connection con = GerenciaConexão.getConexao();
           
            String sql = "SELECT * FROM cliente";
             java.sql.PreparedStatement pst = con.prepareStatement(sql);

            ResultSet RS = pst.executeQuery();
            
            ArrayList<Cliente> ClienteQSE = new ArrayList<>();
            
        while(RS.next()){
            Cliente ArmazenandoExibindo = new Cliente();
            ArmazenandoExibindo.setNome(RS.getString("nm_cliente"));
            ArmazenandoExibindo.setEndereço(RS.getString("endereco"));
            ArmazenandoExibindo.setCpf(RS.getString("cpf"));
            ArmazenandoExibindo.setSexo(RS.getString("sexo"));
            ArmazenandoExibindo.setIdade(RS.getString("idade"));
            ClienteQSE.add(ArmazenandoExibindo);
        }
        RS.close();
        pst.close();
        return ClienteQSE;
    }
        
    public String Deletar(String codigo) throws SQLException { 
        java.sql.Connection con = GerenciaConexão.getConexao();
        java.sql.PreparedStatement pst = null;
        String ret = "Cliente não excluido";
        try{
        String sql = "DELETE FROM cliente WHERE cpf = " + codigo;
        pst = con.prepareStatement(sql);
        pst.executeQuery(sql);
        ret = "Excluido com sucesso!";
        }catch(SQLException sqle){
            ret += sqle.getMessage();
        }
        return ret;  
    }  
    
}
